<script lang="tsx">
import {Component, Emit, InjectReactive, Model, Prop, PropSync, VModel, Vue,} from 'vue-property-decorator'

/**
 * export default {
  data() {
    return {
      count: 0,
    }
  },
  methods: {
    addToCount(n) {
      this.count += n
      this.$emit('add-to-count', n)
    },
    resetCount() {
      this.count = 0
      this.$emit('reset')
    },
    returnValue() {
      this.$emit('return-value', 10)
    },
    onInputChange(e) {
      this.$emit('on-input-change', e.target.value, e)
    },
    promise() {
      const promise = new Promise((resolve) => {
        setTimeout(() => {
          resolve(20)
        }, 0)
      })

      promise.then((value) => {
        this.$emit('promise', value)
      })
    },
  },
}
 */
@Component
export default class Child extends Vue {

    @Model('change', { type: Boolean })
    readonly checked!: boolean

    public mounted(): void {
        console.log(this.checked)
    }

    render() {
        console.log()
        return (
            <div>
                我是Child组件
                {this.checked}
            </div>
        )
    }
}
</script>

<style scoped>
#app {
    font-family: Avenir, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    color: #2c3e50;
    margin-top: 60px;
}
</style>
